package com.im.codec.proto;

import lombok.Data;

/**
 * 消息头
 */
@Data
public class MessageHeader {

    // 消息操作指令，以16进制表示，一个消息的开始通常以0x开头
    // 占用4字节
    private Integer command;

    // 协议版本号，占用4字节
    private Integer version;

    // 客户端类型，占用4字节
    private Integer clientType;

    // 应用ID，占用4字节
    private Integer appId;

    // 数据解析类型，与具体业务无关，后续根据解析类型解析数据
    // 0x0表示Json，0x1表示ProtoBuf，0x2表示Xml，默认为0x0
    // 占用4字节
    private Integer messageType = 0x0;

    // imei号的长度，占用4字节
    private Integer imeiLength;

    // 包体长度，占用4字节
    private int length;

    // imei号，对应占用的字节数由imeiLength确定
    private String imei;
}
